﻿''' <summary>
''' This interface is used to supply the item information for the menu.
''' </summary>
Public Interface iLibraryItem
  ''' <summary>
  ''' The icon to display to the left of the item text.  This is optional.  Return NULL if this is not implemented.
  ''' </summary>
  Property Icon() As Drawing.Bitmap

  ''' <summary>
  ''' Main text to display in the menu.  This is required.
  ''' </summary>
  Property Text() As String

  ''' <summary>
  ''' Subtext to display in the menu on the second line.  This is optional.  Return an empty string if not implemented.
  ''' </summary>
  Property Subtext() As String

  ''' <summary>
  ''' This text should be unique for each item.  It is what is passed back into the plugin when this item is clicked.
  ''' </summary>
  Property Key() As String

  ''' <summary>
  ''' When this is NULL, it means this item will go to a new submenu on call to NextMenu.  When this contain a valid Avian Play
  ''' Playlist entry, it means this item can be played or favorited.  On play, this item and its sisters will replace the "Now
  ''' Playing" playlist in the appropriate player (music/podcast/stream).  Note that when this is specified, the Icon and Text
  ''' parameters can both be left blank as the menu renderer will use the values stored in the playlist instead.
  ''' </summary>
  Property AVPLRef() As Playlists.AVPLPlaylistEntry
End Interface
